package xyz.zdsoft.attendance_manage_module.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import xyz.zdsoft.attendance_manage_module.pojo.MyPage;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * @author 王林
 * @version 1.0
 * @date 2021-07-25 周日
 * @time 22:21
 * @description
 */
@Data
@ApiModel(value = "学生考勤信息")
public class AttendanceInfoVo extends MyPage implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date projectDate;

    @ApiModelProperty(value = "请假id")
    private Integer leaveId;

    @ApiModelProperty(value = "课程id")
    private Integer projectId;

    @ApiModelProperty(value = "小组名称")
    private String teamName;

    @ApiModelProperty(value = "院系名称")
    private String collegesName;

    @ApiModelProperty(value = "专业名称")
    private String majorName;

    @ApiModelProperty(value = "年级")
    private String gradeName;

    @ApiModelProperty(value = "班级名称")
    private String className;

    @ApiModelProperty(value = "课程名称")
    private String courseName;

    @ApiModelProperty(value = "责任老师姓名")
    private String dutyTeacher;

    @ApiModelProperty(value = "实训老师姓名")
    private String trainTeacher;

    @ApiModelProperty(value = "学号")
    private String userNo;

    @ApiModelProperty(value = "学生姓名")
    private String studentName;

    @ApiModelProperty(value = "应签到时间")
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "HH:mm:ss",timezone="GMT+8")
    @DateTimeFormat(pattern = "HH:mm:ss")
    private Date signInTime;

    @ApiModelProperty(value = "应签退时间")
    @JsonFormat(pattern = "HH:mm:ss",timezone="GMT+8")
    @DateTimeFormat(pattern = "HH:mm:ss")
    private Date signOutTime;

    @ApiModelProperty(value = "实签到")
    @JsonFormat(pattern = "HH:mm:ss",timezone="GMT+8")
    @DateTimeFormat(pattern = "HH:mm:ss")
    private LocalDateTime realStartTime;

    @ApiModelProperty(value = "实签退")
    @JsonFormat(pattern = "HH:mm:ss",timezone="GMT+8")
    @DateTimeFormat(pattern = "HH:mm:ss")
    private LocalDateTime realEndTime;

    @ApiModelProperty(value = "出勤状态:1：正常，2：迟到，3：早退，4：缺勤，5：请假")
    private String attendanceType;
}
